<html>

	<head>
		<title>4.2 Interceptor</title>
		<meta charset="utf-8" />
		<meta name="author" content="jfinal,yaolin" />
		<meta name="Keywords" content="" />
		<link rel="stylesheet" type="text/css" href="../../css/global.css" />
	</head>

	<body>
		<h1>4.2 Interceptor</h1>
		<p>Interceptor 可以对方法进行拦截，并提供机会在方法的前后添加切面代码， 实现 AOP 的 核心目标。Interceptor 接口仅仅定了一个方法 void intercept(Invocation inv)。以下是简单的示例：</p>
		<img src="../../images/aop/4.2.1.png" />
		<p>以上代码中的 DemoInterceptor 将拦截目标方法，并且在目标方法调用前后向控制台输出 文本。 inv.invoke()这一行代码是对目标方法的调用，在这一行代码的前后插入切面代码可以很 方便地实现 AOP。</p>
		<p class="red">注意： 必须调用 inv.invoke() 方法， 才能将当前调用传递到后续的 Interceptor 与 Action。</p>
		<p>Invocation 作为 Interceptor 接口 intercept 方法中的唯一参数，提供了很多便利的方法在拦 截器中使用。 以下为 Invocation 中的方法：</p>
		<img src="../../images/aop/4.2.2.png" />
	</body>

</html>